package root.util;

import java.util.Comparator;

import root.plumbum2.Usuario;

/**
 * 
 * Classe que compara enderecos de 2 usuarios.
 * 
 */
public class ComparadorDeEnderecos implements Comparator<Usuario> {

	private String referencial;

	public ComparadorDeEnderecos(String referencial) {
		this.referencial = referencial;

	}

	/**
	 * Recebe dois usuarios e compara as coordenadas das suas localizacoes.
	 * Negativo para menor, zero para igual, e positivo parar maior.
	 */
	@Override
	public int compare(Usuario user1, Usuario user2) {
		int resp = 0;

		double[] refXY = Localizador.getCoordenadas(referencial);
		double[] user1XY = Localizador.getCoordenadas(user1.getEndereco());
		double[] user2XY = Localizador.getCoordenadas(user2.getEndereco());

		int refToUser1 = (int) Localizador.calculaDistancia(refXY[0], refXY[1],
				user1XY[0], user1XY[1]);
		int refToUser2 = (int) Localizador.calculaDistancia(refXY[0], refXY[1],
				user2XY[0], user2XY[1]);

		return refToUser1 - refToUser2;
	}

}
